home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
extras
/
programm
/
gemfsc19
/
gemfsc19.lzh
/
GEMFBIND
/
VRCPYFM.S
< prev
next >
Wrap
Text File
|
1993-03-16
|
2KB
|
78 lines
;*========================================================================
;* VDIFAST Public Domain VDI bindings.
;*========================================================================
;*------------------------------------------------------------------------
;* Copy raster transparent.
;* Copy raster opaque.
;* These functions are pretty similar, so they're kludged together here.
;*------------------------------------------------------------------------
globl _vrt_cpyfm
_vrt_cpyfm:
; .cargs #8,handle.w,wrmode.w,pxy.l,psource.l,pdest.l,color.l
handle = 8
wrmode = 10
pxy = 12
psource = 16
pdest = 20
color = 24
link a6,#0
moveq.l #121,d0 ;* Function code = copy transparent
moveq.l #3,d1 ;* Number of intin words = 3.
move.l color(a6),a0 ;* Get the pointer to the 2-word
move.l (a0),-(sp) ;* color array, copy values to the
move.w wrmode(a6),-(sp) ;* stack, add the writing mode.
move.l sp,a0 ;* Save a pointer to intin.
bra.b vr_cpyfm ;* Continue at common point below.
globl _vro_cpyfm
_vro_cpyfm:
; .cargs #8,handle.w,wrmode.w,pxy.l,psource.l,pdest.l
handle = 8
wrmode = 10
pxy = 12
psource = 16
pdest = 20
link a6,#0
moveq.l #109,d0 ;* Function code = copy opaque.
moveq.l #1,d1 ;* Number of intin words = 1.
lea wrmode(a6),a0 ;* Save a pointer to intin.
vr_cpyfm:
; .cargs #8,handle.w,wrmode.w,pxy.l,psource.l,pdest.l ;* This is dup'd here due to local symbol scope being trashed by the vr_cpyfm label.
handle = 8
wrmode = 10
pxy = 12
psource = 16
pdest = 20
move.l pdest(a6),-(sp) ;* contrl[9-10] -> dest mfdb.
move.l psource(a6),-(sp) ;* contrl[7-8] -> source mfdb.
; VContrl d0,,#4,d1 ;* Setup the rest of the contrl stuff.
move.w handle(a6),-(sp) ; contrl[6]
clr.l -(sp) ; contrl[5,4]
move.w d1,-(sp) ; contrl[3]
subq.l #2,sp ; contrl[2]
move.w #4,-(sp) ; contrl[1]
move.w d0,-(sp) ; contrl[0]
subq.l #8,sp ;* -> ptsout, intout
move.l pxy(a6),-(sp) ;* -> ptsin
move.l a0,-(sp) ;* -> intin
pea 16(sp) ;* -> contrl
jmp vdicall
end